var express = require('express');
var router = express.Router();
var usermodel = require('../model/usermodel')
var { createToken, verifyToken } = require('../utils/jwt')


// 用户注册接口
// URL：api/v1/user/registe
router.post('/register',(req,res)=>{
  let {username,password} = req.body
  if(!username) return res.json({err:1,msg:'用户名不能为空'})
  if(!password) return res.json({err:1,msg:'用户名不能为空'})
  var els = {
    username,
    password
  }
  usermodel.insertMany([els]).then(()=>{
    res.json({err:0,msg:"注册成功",data:{username}})

  })
  

})
//登陆接口
// URL：api/v1/user/logion






// 描述：用户登录接口
// URL：/api/v1/user/login
router.post('/logion', (req, res)=>{
  // 第一步，接收入参并验证
  let { username, password } = req.body
  if(!username) return res.json({err: 1, msg:'username是必须参数'})
  if(!password) return res.json({err: 1, msg:'password是必须参数'})
  // 业务处理，判断用户是否注册了？
  usermodel.find({username}).then(list=>{
    if(list.length===0) return res.json({err:1,msg:`${username} 未注册`})
    // 进一步判断，用户名和密码是否对应得上？
    usermodel.find({username, password}).then(list=>{
      if(list.length===0) return res.json({err:1,msg:'用户名和密码不匹配'})
      // 表示登录成功，成功之后实现“用户鉴权”
      // 现在市场上流行的做法：使用token鉴权
      var token = createToken({username,password,_id:list[0]._id})
      res.json({err:0,msg:'success',data:{token}})
    })
  })

})

module.exports = router;
